/*
 * Copyright (C) 2020 Honeywell, Inc. All Rights Reserved.
 */
package org.thanos.iot.service.graphic;

import com.honeywell.tj.iot.entity.graphic.ComponentImageResponse;
import com.honeywell.tj.iot.entity.graphic.GraphicView;
import com.honeywell.tj.iot.vo.graphic.EquipmentInfo;
import com.honeywell.tj.iot.vo.graphic.GraphicCategoryVo;
import com.honeywell.tj.iot.vo.graphic.PointInfo;
import com.honeywell.tj.iot.vo.graphic.ViewVo;
import com.honeywell.tj.iot.vo.graphic.item.ViewAndItems;
import com.honeywell.tj.iot.webcommons.CommonResult;

import java.util.List;
import java.util.Map;

/**
 * @ClassName PxViewInfoService
 * @Author H241118
 * @Date 3/9/2020 4:04 PM
 **/
public interface GraphicService {

    GraphicView getView(Integer id);

    CommonResult<List<GraphicView>> getViews(Integer locationId);

    GraphicView getViewAndItems(Integer id);

    CommonResult<List<GraphicCategoryVo>> getCategories();

    CommonResult<Map<String, PointInfo>> getPointInfo(List<String> uuids);

    CommonResult<ComponentImageResponse> getComponentImage(Integer graphicComponentId, String uuid);

    GraphicView getItems(Integer locationId);

    CommonResult<List<EquipmentInfo>> getEquipments(Integer locationId);

    CommonResult createView(ViewVo view);

    CommonResult updateView(ViewVo view);

    CommonResult updateItems(ViewAndItems viewAndItems);

    int deleteView(Integer id);
}
